Our World in Data Scraper
Pricing
from $3.00 / 1,000 results
Our World in Data Scraper
Scrape Our World in Data (ourworldindata.org) - browse articles by topic or keyword, fetch chart data (CSV) by slug, or explore country profiles. Returns article metadata, chart datasets, and country-level statistics from Oxford's Global Change Data Lab.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape Our World in Data — the Oxford/Global Change Data Lab platform covering global trends in health, poverty, climate, education, and more. Extract article metadata, downloadable chart datasets (CSV), and country profiles — all without any API key or credentials.
What You Can Scrape
- Articles — browse recent research articles with title, authors, publish date, excerpt, thumbnail, and related chart slugs.
- Chart Data — download the underlying dataset (CSV rows) for any OWID Grapher chart by its slug, with optional country/year filters.
- Chart Data Bulk — download datasets from multiple charts in one run.
- Countries — browse country profiles (250+ countries) with name, description, and related charts.
Output Fields
Article records (recordType: "article")
| Field | Type | Description |
|---|---|---|
articleSlug | string | URL slug (e.g. climate-change) |
title | string | Article headline |
publishedAt | string | ISO 8601 publish date |
updatedAt | string | ISO 8601 last modified date |
authors | array | List of author names |
primaryAuthor | string | First-listed author |
excerpt | string | Short description / abstract |
thumbnailUrl | string | Article cover image URL |
relatedCharts | array | Grapher chart slugs referenced in the article |
articleUrl | string | Canonical article URL |
scrapedAt | string | UTC timestamp when record was scraped |
recordType | string | Always "article" |
Chart config records (recordType: "chartConfig")
| Field | Type | Description |
|---|---|---|
chartSlug | string | Chart identifier slug |
chartId | integer | OWID internal chart ID |
title | string | Chart title |
subtitle | string | Chart subtitle |
note | string | Chart footnote |
chartTypes | array | Visualisation types (e.g. LineChart, ScatterPlot) |
citation | string | Data source attribution |
dataColumns | array | Column names in the CSV dataset |
relatedQuestionUrls | array | Related article links |
chartUrl | string | Canonical Grapher URL |
Chart data rows (recordType: "chartDataRow")
| Field | Type | Description |
|---|---|---|
chartSlug | string | Source chart identifier |
chartTitle | string | Human-readable chart title |
entity | string | Country, region, or aggregate name |
entityCode | string | ISO country code (if available) |
year | integer | Year of the data point |
<variable> | number | One or more data columns (names vary per chart) |
sourceUrl | string | Canonical chart URL |
Country records (recordType: "country")
| Field | Type | Description |
|---|---|---|
countrySlug | string | URL slug (e.g. germany) |
countryName | string | Display name |
description | string | Short country description |
thumbnailUrl | string | Country thumbnail image |
relatedCharts | array | Grapher slugs for this country |
countryUrl | string | Country profile URL |
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | select | articles | What to scrape: articles, chartData, chartDataBulk, countries |
searchQuery | string | — | Keyword filter for article titles/excerpts |
topic | select | — | Filter articles by topic area |
chartSlug | string | — | Chart slug for chartData mode (e.g. life-expectancy) |
chartSlugs | array | — | Multiple slugs for chartDataBulk mode |
entities | array | — | Filter chart rows to specific countries/regions |
yearFrom | integer | — | Minimum year for chart data rows |
yearTo | integer | — | Maximum year for chart data rows |
includeChartConfig | boolean | true | Emit a config record before chart data rows |
maxItems | integer | 100 | Maximum records to emit |
Example Inputs
Browse latest articles about climate change
{"mode": "articles","searchQuery": "climate change","maxItems": 20}
Download life expectancy data for Germany and France (1950–2023)
{"mode": "chartData","chartSlug": "life-expectancy","entities": ["Germany", "France"],"yearFrom": 1950,"yearTo": 2023,"maxItems": 500}
Bulk download multiple charts
{"mode": "chartDataBulk","chartSlugs": ["co2-emissions-vs-gdp", "child-mortality", "global-education"],"entities": ["World"],"maxItems": 1000}
Browse country profiles
{"mode": "countries","searchQuery": "germany","maxItems": 10}
Use Cases
- Research & academia — download multi-decade global datasets (CO₂, life expectancy, GDP, mortality) for analysis.
- Journalism — find the latest OWID articles on a topic and enrich stories with chart data.
- Education — build classroom materials using OWID's curated global statistics.
- Data pipelines — automate ingestion of specific chart datasets on a schedule.
- Content discovery — monitor new articles published on specific topics.
Finding Chart Slugs
Chart slugs appear in every OWID chart URL: https://ourworldindata.org/grapher/{slug}.
Popular examples:
life-expectancy— Life expectancy at birth (1950–2024)co2-emissions-vs-gdp— CO₂ emissions vs. GDP per capitachild-mortality— Child mortality rate by countryglobal-education— Years of schoolingshare-of-population-in-extreme-poverty— Poverty headcount ratioannual-co-emissions-by-region— Annual CO₂ by regionvaccination-coverage-who-unicef— Vaccine coverage
FAQ
Does this require an API key? No. All OWID data is publicly available. No registration or API key is needed.
How many articles are available?
OWID publishes 1,900+ articles and research topics. The Atom feed provides the 10 most recent; setting maxItems higher triggers sitemap crawling for older content.
How many chart datasets are available?
OWID hosts 3,000+ Grapher charts. Each has a downloadable CSV via the .csv endpoint.
What is the largest chart dataset?
Multi-country charts spanning 200+ years can have 50,000+ rows. Use entities and yearFrom/yearTo filters to limit output.
Can I get data for a specific country over time?
Yes — use chartData mode with entities: ["Germany"] and yearFrom/yearTo to extract time-series data for a single country.
Is there rate limiting? OWID's public API is politely crawled with 0.3s delays between requests. No API rate limits apply to static CSV/JSON endpoints.